package xx.satoken.auth.controller;

import cn.dev33.satoken.stp.StpUtil;
import com.sun.org.apache.xpath.internal.operations.Bool;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 角色权限校验接口
 */
@RestController
public class RoleController {


    /**
     * 获取：当前账号所拥有的角色集合
     * @return
     */
    @RequestMapping("getRoleList")
    public List<String> getRoleList() {
        return StpUtil.getRoleList();
    }

    /**
     * 判断：当前账号是否拥有指定角色, 返回 true 或 false
     * @return
     */
    @RequestMapping("hasRole")
    public Boolean hasRole() {
        return StpUtil.hasRole("super-admin");
    }

    /**
     *  校验：当前账号是否含有指定角色标识, 如果验证未通过，则抛出异常: NotRoleException
     * @return
     */
    @RequestMapping("checkRole")
    public String checkRole() {
        StpUtil.checkRole("super-admin");
        return "success";
    }

}
